<?php

class UserService
{
    /**
     * @param  Array $data
     * @return User
     */
    public static function create( Array $data )
    {	
    	if ( !array_key_exists( 'email', $data ) )
    	{
    	    throw new UserException( 'La dirección de correo del user no puede quedar en blanco' );
    	}

    	if( User::getRepository()->findOneByEmail( $data[ 'email' ] ) )
    	{
    		throw new UserEmailAlreadyExistsException( 'La dirección ya se encuentra registrada' );
    	}

        return User::getRepository()->add( $data );
    }
}